package cn.com.surker.workcon.service;

import cn.com.surker.control.entity.ControlExpend;
import cn.com.surker.lab.entity.LabExpend;
import cn.com.surker.lab.entity.LabExpendOther;
import cn.com.surker.lab.vo.LabExpendVoB;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 消耗信息 Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2024-09-26
 */
public interface DosageService extends GKTranService {

	/**
	 * 根据盘id,查询工控机消耗信息
	 *
	 * @param        invoiceId            erp发货单id
	 * @param        batchId              erp盘id
	 * @param         prodId              工控机发货单id
	 * @param        pieId                工控机的盘id
	 * @param         batchTime           盘消耗时间
	 * @param        batchStere              盘方量
	 * @param        formulaId            erp的配合比
	 * @param        formulaWater         erp的含水量
	 * @param        levelOptimizeId      erp中的优化配合比
	 * @return
	 */
	List<LabExpend> findByPieId(Long lineId, Long invoiceId, Long batchId, String prodId, String pieId, Date batchTime, Double batchStere, Long formulaId, Double formulaWater, Long levelOptimizeId, Date createDate);


	/**
	 * 查询工控机的消耗
	 *
	 * @param lineId     生产线id
	 * @param batchId    erp里面的备份工控消耗表里面的盘id
	 * @param prodId     工控机id
	 * @param pieId      盘id
	 * @param batTime
	 * @param createDate
	 * @return
	 */
	List<ControlExpend> findWorkByPieId(Long lineId, Long batchId, String prodId, String pieId, Date batTime, Date createDate);

	/**
	 * 临时用
	 *
	 * @param lineId
	 * @return
	 */
	@Deprecated
	List<LabExpendOther> findAll(Long lineId);

	/**
	 * 根据工控机材料消耗id,查询数据
	 *
	 * @param lineId        生产线id
	 * @param batchId        erp的盘id
	 * @param dosId        工控机盘id
	 * @return
	 */
	LabExpend queryByDosId(Long lineId, Long batchId, String dosId);

	/**
	 * 插入b库数据
	 *
	 * @param lineId     生产线id
	 * @param labExpends 消耗数据
	 * @return 返回插入成功的b库数据id
	 */
	List<Long> writeBackB(Long lineId, List<LabExpendVoB> labExpends);

}
